package com.BD;

import java.util.ArrayList;

import com.clases.Venta;
import com.reportes.Imagen_Nombre;
import com.reportes.R;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class BD_SQLite extends SQLiteOpenHelper {
	
	private static final int DATABASE_VERSION = 1;	 
    // Database Name
    private static final String DATABASE_NAME = "DB_Reportes"; 
    //NOMBRE DE LAS TABLAS
    
    private static final String TABLA_UBIGEO = "Ubigeo";
    private static final String TABLA_EDAD = "Edad";
    private static final String TABLA_ZONAS = "Tabla_Zonas";
    private static final String TABLA_EVENTOS = "Tabla_Eventos";
    private static final String TABLA_FECHA = "Tabla_Fecha";
    private static final String TABLA_VENTAS = "Tabla_Ventas";
    private static final String TABLA_CANAL = "Canal";
    private static final String TABLA_SEXO = "Sexo";
    private static final String TABLA_MEDIO_DE_PAGO = "Medio_pago";
    private static final String TABLA_PROMOTOR = "Promotor";
    private static final String TABLA_PUNTO_DE_VENTA = "Punto_Venta";
    private static final String TABLA_CONSULTA = "Consulta";
    private static final String TABLA_ULTIMO_USO = "Ultimo_Uso";
    
    
    //NOMBRE DE LAS COLUMNAS TABLA EVENTOS
    private static final String KEY_idEvento = "idEvento";
    private static final String KEY_nomEvento = "nomevento";
    private static final String KEY_fecCreacion = "fecCreacion";
    private static final String KEY_fecRealizacion = "fecRealizacion";
    private static final String KEY_idTipoEvento = "idTipo";
    private static final String KEY_idSubtipoEvento = "idSubTipo";
    private static final String KEY_nomTipoEvento = "nombreTipo";
    private static final String KEY_nomSubtipoEvento = "nombreSubTipo";
    private static final String KEY_idEstadoEvento = "idEstadoEvento";
    private static final String KEY_nomEstadoEvento = "nomEstadoEvento";
    private static final String KEY_urlSubtipoEvento = "urlSubtipoEvento";
    private static final String KEY_urlEvento = "urlEvento";
    
    
    //COLUMNAS TABLA ZONAS
    private static final String KEY_idZona = "idZona";
    private static final String KEY_nomZona = "nombreZona";
    
    //COLUMNAS TABLA FECHAS
    private static final String KEY_idFecha = "idFecha";
    private static final String KEY_fecha = "fecha";
    private static final String KEY_anho = "anio";
    private static final String KEY_trimestre = "trimestre";
    private static final String KEY_mes = "mes";
    private static final String KEY_nomMes = "nomMes";
    private static final String KEY_quincena = "quincena";
    private static final String KEY_semana = "semana"; 
    private static final String KEY_dia = "dia";
    
    //COLUMNAS TABLA UBIGEO
    private static final String KEY_idUbigeo ="idubigeo";
    private static final String KEY_idDepartamento="iddepartamento";
    private static final String KEY_nomDepartamento="nomdepartamento";
    private static final String KEY_idProvincia="idprovincia";
    private static final String KEY_nomProvincia="nomprovincia";
    private static final String KEY_idDistrito="iddistrito";
    private static final String KEY_nomDistrito="nomdistrito";
    private static final String KEY_ubicacion ="ubicaion";
    
    //COLUMNAS TABLA EDAD
    private static final String KEY_idRango="idrango";
    private static final String KEY_nomRango="nomrango";

    //COLUMNAS TABLA CANAL
    private static final String KEY_idCanal="idcanal";
    private static final String KEY_nomCanal="nomcanal";

    //COLUMNAS TABLA SEXO 
    private static final String KEY_idsexo="idsexo";
    private static final String KEY_nomSexo="nomsexo";

    //COLUMNAS TABLA MEDIO_DE_PAGO
    private static final String KEY_idMedioPago="idmediopago";
    private static final String KEY_nomMedioPago="nommediopago";

    //COLUMNAS TABLA PROMOTOR
    private static final String KEY_idPromotor="idpromotor";
    private static final String KEY_razonSocial="razonsocial";

    //COLUMNAS TABLA Punto de Venta
    private static final String KEY_idPuntodeVenta="idpuntoventa";
    private static final String KEY_nombre="nombre";

    //COLUMNAS TABLA Consultas
    private static final String KEY_cantidad="cantidad";

    //COLUMNAS TABLA Ventas
    private static final String KEY_monto="monto";

    //COLUMNAS TABLA ULTIMO USO
    private static final String KEY_tipoevento="tipoevento";
    private static final String KEY_subtipoevento="subtipoevento";
    private static final String KEY_evento="evento";
    private static final String KEY_zonas="zonas";
    private static final String KEY_ubigeo="ubigeo";
    private static final String KEY_edad="edad";
    private static final String KEY_canal="canal";
    private static final String KEY_sexo="sexo";
    private static final String KEY_medio_de_pago="medio_de_pago";
    private static final String KEY_promotor="promotor";
    private static final String KEY_punto_de_venta="pto_venta";
    private static final String KEY_consultas="consultas";
    private static final String KEY_ventas="ventas"; 
    
    
	public BD_SQLite(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

	@Override
	public void onCreate(SQLiteDatabase db) {
		// TODO Auto-generated method stub
		String CREATE_TABLA_EVENTO = "CREATE TABLE " + TABLA_EVENTOS + "("
    			+ KEY_idEvento + " INTEGER PRIMARY KEY,"
    			+ KEY_nomEvento  + " TEXT,"
    			+ KEY_fecCreacion  + " TEXT,"
    			+ KEY_fecRealizacion  + " TEXT,"
    			+ KEY_idTipoEvento  + " INTEGER,"
    			+ KEY_idSubtipoEvento  + " INTEGER,"
    			+ KEY_nomTipoEvento  + " TEXT,"
    			+ KEY_nomSubtipoEvento + " TEXT,"
    			+ KEY_idEstadoEvento  + " INTEGER,"
    			+ KEY_nomEstadoEvento  + " TEXT,"
    			+ KEY_urlSubtipoEvento+ " TEXT,"
    			+ KEY_urlEvento  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_EVENTO);
		
        String CREATE_TABLA_ZONA = "CREATE TABLE " + TABLA_ZONAS + "("
    			+ KEY_idZona + " INTEGER PRIMARY KEY,"
    			+ KEY_idEvento  + " INTEGER,"
    			+ KEY_nomZona  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_ZONA);
		
        String CREATE_TABLA_FECHA = "CREATE TABLE " + TABLA_FECHA + "("
    			+ KEY_idFecha + " INTEGER PRIMARY KEY,"
    			+ KEY_fecha  + " TEXT,"
    			+ KEY_anho  + " INTEGER,"
    			+ KEY_trimestre + " INTEGER,"
    			+ KEY_mes  + " INTEGER,"
    			+ KEY_nomMes  + " TEXT,"
    			+ KEY_quincena  + " INTEGER,"
    			+ KEY_semana  + " INTEGER,"
    			+ KEY_dia  + " INTEGER"
    			+ ")";
        db.execSQL(CREATE_TABLA_FECHA);
        
        String CREATE_TABLA_UBIGEO = "CREATE TABLE " + TABLA_UBIGEO + "("
    			+ KEY_idUbigeo + " INTEGER PRIMARY KEY,"
    			+ KEY_idDepartamento+ " INTEGER,"
    			+ KEY_nomDepartamento  + " TEXT,"
    			+ KEY_idProvincia + " INTEGER,"
    			+ KEY_nomProvincia  + " TEXT,"
    			+ KEY_idDistrito  + " INTEGER,"
    			+ KEY_nomDistrito  + " TEXT,"
    			+ KEY_ubicacion  + " TEXT"    			
    			+ ")";
        db.execSQL(CREATE_TABLA_UBIGEO);
        
        String CREATE_TABLA_EDAD = "CREATE TABLE " + TABLA_EDAD + "("
    			+ KEY_idRango + " INTEGER PRIMARY KEY,"
    			+ KEY_nomRango  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_EDAD);
        
        String CREATE_TABLA_CANAL = "CREATE TABLE " + TABLA_CANAL + "("
    			+ KEY_idCanal + " INTEGER PRIMARY KEY,"
    			+ KEY_nomCanal  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_CANAL);
        
        String CREATE_TABLA_SEXO = "CREATE TABLE " + TABLA_SEXO + "("
    			+ KEY_idsexo + " INTEGER PRIMARY KEY,"
    			+ KEY_nomSexo  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_SEXO);
        
        String CREATE_TABLA_MEDIO_DE_PAGO = "CREATE TABLE " + TABLA_MEDIO_DE_PAGO + "("
    			+ KEY_idMedioPago + " INTEGER PRIMARY KEY,"
    			+ KEY_nomMedioPago  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_MEDIO_DE_PAGO);
        
        String CREATE_TABLA_PROMOTOR = "CREATE TABLE " + TABLA_PROMOTOR + "("
    			+ KEY_idPromotor + " INTEGER PRIMARY KEY,"
    			+ KEY_razonSocial  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_PROMOTOR);
        
        String CREATE_TABLA_PUNTO_DE_VENTA = "CREATE TABLE " + TABLA_PUNTO_DE_VENTA + "("
    			+ KEY_idPuntodeVenta + " INTEGER PRIMARY KEY,"
    			+ KEY_idUbigeo + " INTEGER,"
    			+ KEY_nombre  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_PUNTO_DE_VENTA);
        
        String CREATE_TABLA_CONSULTAS = "CREATE TABLE " + TABLA_CONSULTA + "("
    			+ KEY_idEvento + " INTEGER PRIMARY KEY,"
    			+ KEY_idCanal+ " INTEGER,"
    			+ KEY_idUbigeo + " INTEGER,"
    			+ KEY_idFecha  + " INTEGER,"
    			+ KEY_cantidad  + " INTEGER"
    			+ ")";
        db.execSQL(CREATE_TABLA_CONSULTAS);
        
        String CREATE_TABLA_VENTAS = "CREATE TABLE " + TABLA_VENTAS + "("
    			+ KEY_idEvento + " INTEGER,"
    			+ KEY_idPromotor  + " INTEGER,"
    			+ KEY_idCanal  + " INTEGER,"
    			+ KEY_idUbigeo  + " INTEGER,"
    			+ KEY_idRango + " INTEGER,"
    			+ KEY_idPuntodeVenta  + " INTEGER,"
    			+ KEY_idsexo  + " INTEGER,"
    			+ KEY_idFecha  + " INTEGER,"
    			+ KEY_idZona  + " INTEGER,"
    			+ KEY_cantidad  + " INTEGER,"
    			+ KEY_monto  + " REAL"
    			+ ")";
        db.execSQL(CREATE_TABLA_VENTAS);
		
		String CREATE_TABLA_ULTIMO_USO = "CREATE TABLE " + TABLA_ULTIMO_USO + "("
    			+ KEY_tipoevento + " TEXT,"
    			+ KEY_subtipoevento + " TEXT,"
    			+ KEY_evento + " TEXT,"
    			+ KEY_zonas  + " TEXT,"
    			+ KEY_fecha  + " TEXT,"
    			+ KEY_ubigeo  + " TEXT,"
    			+ KEY_edad  + " TEXT,"
    			+ KEY_canal + " TEXT,"
    			+ KEY_sexo  + " TEXT,"
    			+ KEY_medio_de_pago  + " TEXT,"
    			+ KEY_promotor+ " TEXT,"
    			+ KEY_punto_de_venta  + " TEXT,"
    			+ KEY_consultas  + " TEXT,"
    			+ KEY_ventas  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_ULTIMO_USO);
	}
	/*
	private void llenaTablaTipo() {
		// TODO Auto-generated method stub
		ArrayList<TablaTipo> tt = new ArrayList();
		TablaTipo t1 = new TablaTipo(1, "concierto");
		tt.add(t1);
		TablaTipo t2 = new TablaTipo(2, "teatro");
		tt.add(t2);
		TablaTipo t3 = new TablaTipo(3, "deportes");
		tt.add(t3);
		TablaTipo t4 = new TablaTipo(4, "cultural");
		tt.add(t4);
		TablaTipo t5 = new TablaTipo(5, "otros");
		tt.add(t5);
		
		for (int i = 0; i < tt.size(); i++){
        	this.addRegistroTT(tt.get(i));
		}
		            
	}*/

	@Override
	public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {

		// TODO Auto-generated method stub
		
	}
	
	public void addRegistroVentas(Tabla_Ventas tv){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idEvento , tv.getIdEvento()); 
        values.put(KEY_idPromotor  , tv.getIdPromoto()); 
        values.put(KEY_idCanal  , tv.getIdCanal());
        values.put(KEY_idUbigeo , tv.getIdubigeo());
        values.put(KEY_idRango , tv.getIdRango());
        values.put(KEY_idPuntodeVenta , tv.getIdPuntodeVenta());
        values.put(KEY_idsexo , tv.getIdsexo());
        values.put(KEY_idFecha , tv.getIdfecha());
        values.put(KEY_idZona , tv.getIdZona());
        values.put(KEY_cantidad, tv.getCantidad());
        values.put(KEY_monto , tv.getMonto());
        
        // Inserting Row
        db.insert(TABLA_VENTAS, null, values);
        db.close(); // Closing database connection 
      
               
    }
	
	public void addRegistroFechas(Tabla_Fechas tf){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idFecha , tf.getIdFecha()); 
        values.put(KEY_fecha  , tf.getFecha()); 
        values.put(KEY_anho  , tf.getAnho());
        values.put(KEY_trimestre , tf.getTrimestre());
        values.put(KEY_mes , tf.getMes());
        values.put(KEY_nomMes , tf.getNomMes());
        values.put(KEY_quincena , tf.getQuincena());
        values.put(KEY_semana , tf.getSemana());
        values.put(KEY_dia , tf.getDia());
        
        // Inserting Row
        db.insert(TABLA_FECHA, null, values);
        db.close(); // Closing database connection 
    }
	
	public void addRegistroZona(Tabla_Zona tz){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idZona , tz.getIdZona()); 
        values.put(KEY_idEvento  , tz.getIdEvento()); 
        values.put(KEY_nomZona  , tz.getNomZona());      
        // Inserting Row
        db.insert(TABLA_ZONAS, null, values);
        db.close(); // Closing database connection        
	}
	
	public void addRegistroEvento(Tabla_Evento te){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idEvento , te.getIdEvento()); 
        values.put(KEY_nomEvento, te.getNomEvento());
        values.put(KEY_fecCreacion  , te.getFecCreacion()); 
        values.put(KEY_fecRealizacion  , te.getFecRealizacion());
        values.put(KEY_idTipoEvento, te.getIdTipoEvento());
        values.put(KEY_idSubtipoEvento, te.getIdSubTipoEvento());
        values.put(KEY_nomTipoEvento, te.getNomTipoEvento());
        values.put(KEY_nomSubtipoEvento, te.getNomSubTipoEvento());
        values.put(KEY_idEstadoEvento , te.getIdEstadoEvento());
        values.put(KEY_nomEstadoEvento , te.getNomEstadoEvento());
        values.put(KEY_urlSubtipoEvento, te.getUrlSubTipoEvento());
        values.put(KEY_urlEvento , te.getUrlEvento());
        
        // Inserting Row
        db.insert(TABLA_EVENTOS, null, values);
        db.close(); // Closing database connection 
    }
	
	public void addRegistroUbigeo(Tabla_Ubigeo tu){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idUbigeo, tu.getIdUbigeo()); 
        values.put(KEY_idDepartamento, tu.getIdDepartamento());
        values.put(KEY_nomDepartamento, tu.getNomDepartamento()); 
        values.put(KEY_idProvincia, tu.getIdProvincia());
        values.put(KEY_nomProvincia, tu.getNomProvincia());
        values.put(KEY_idDistrito, tu.getIdDistrito());
        values.put(KEY_nomDistrito, tu.getNomDistrito());
        values.put(KEY_ubicacion, tu.getUbicacion());
        
        // Inserting Row
        db.insert(TABLA_UBIGEO, null, values);
        db.close(); // Closing database connection 
    }
	
	public void addRegistroConsultas(Tabla_Consultas tc){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idEvento, tc.getIdEvento()); 
        values.put(KEY_idCanal, tc.getIdCanal());
        values.put(KEY_idUbigeo, tc.getIdUbigeo()); 
        values.put(KEY_idFecha, tc.getIdFecha());
        values.put(KEY_cantidad, tc.getCantidad());

        // Inserting Row
        db.insert(TABLA_CONSULTA, null, values);
        db.close(); // Closing database connection 
    }
	
	public void addRegistroUltimoUso(Tabla_UltimoUso tu){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_tipoevento , tu.getTipoEvento()); 
        values.put(KEY_subtipoevento  , tu.getSubTipoEvento()); 
        values.put(KEY_evento, tu.getEvento());
        values.put(KEY_zonas , tu.getZonas()); 
        values.put(KEY_fecha  , tu.getFecha()); 
        values.put(KEY_ubigeo, tu.getUbigeo());
        values.put(KEY_edad , tu.getEdad()); 
        values.put(KEY_canal  , tu.getCanal()); 
        values.put(KEY_sexo, tu.getSexo());
        values.put(KEY_medio_de_pago , tu.getMedioPago()); 
        values.put(KEY_promotor  , tu.getPromotor()); 
        values.put(KEY_punto_de_venta, tu.getPuntoVenta());
        values.put(KEY_consultas , tu.getConsultas()); 
        values.put(KEY_ventas  , tu.getVentas()); 
        
        // Inserting Row
        db.insert(TABLA_ULTIMO_USO, null, values);
        db.close();
	}
	public void addRegistroSexo(Tabla_Sexo se){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idsexo , se.getIdSexo()); 
        values.put(KEY_nomSexo  , se.getNomSexo()); 
             
        // Inserting Row
        db.insert(TABLA_SEXO, null, values);
        db.close();
	}
	public void addRegistroPuntodeVenta(Tabla_PuntoVenta tpv){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idPuntodeVenta , tpv.getIdPuntoVenta()); 
        values.put(KEY_idUbigeo  , tpv.getIdUbigeo());
        values.put(KEY_nombre  , tpv.getNombre());
             
        // Inserting Row
        db.insert(TABLA_PUNTO_DE_VENTA, null, values);
        db.close();
	}
	
	public void addRegistroEdad(Tabla_Edad tv){
		SQLiteDatabase db = this.getWritableDatabase();	
		ContentValues values = new ContentValues();
		values.put(KEY_idRango , tv.getIdRango()); 
		values.put(KEY_nomRango , tv.getIdRango()); 

		// Inserting Row
		db.insert(TABLA_EDAD, null, values);
		db.close(); // Closing database connection 


		}
		public void addRegistroCanal(Tabla_Canal tv){
		SQLiteDatabase db = this.getWritableDatabase();	
		ContentValues values = new ContentValues();
		values.put(KEY_idCanal , tv.getIdCanal()); 
		values.put(KEY_nomCanal , tv.getNomCanal()); 

		// Inserting Row
		db.insert(TABLA_CANAL, null, values);
		db.close(); // Closing database connection 


		}
		public void addRegistroMedio_De_Pago(Tabla_MedioPago tv){
		SQLiteDatabase db = this.getWritableDatabase();	
		ContentValues values = new ContentValues();
		values.put(KEY_idMedioPago , tv.getIdMedioPago()); 
		values.put(KEY_nomMedioPago , tv.getNomMedioPago()); 

		// Inserting Row
		db.insert(TABLA_MEDIO_DE_PAGO, null, values);
		db.close(); // Closing database connection 


		}
		public void addRegistroPromotor(Tabla_Promotor tv){
		SQLiteDatabase db = this.getWritableDatabase();	
		ContentValues values = new ContentValues();
		values.put(KEY_idPromotor , tv.getIdPromotor()); 
		values.put(KEY_razonSocial , tv.getRazonSocial()); 

		// Inserting Row
		db.insert(TABLA_PROMOTOR, null, values);
		db.close(); // Closing database connection 


		}
	/*
	public void addRegistroTT(TablaTipo tablaTipo) {
		// TODO Auto-generated method stub
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idTipo , tablaTipo.getIdTipo()); 
        values.put(KEY_nombreTipo  , tablaTipo.getNombre()); 
             
        // Inserting Row
        db.insert(TABLA_TIPO, null, values);
        db.close(); // Closing database connection
	}

	public void addRegistroTSB(TablaSubtipo tablaSubtipo) {//agrega a la tabla subtipo
		// TODO Auto-generated method stub
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idSubTipo , tablaSubtipo.getIdSubTipo()); 
        values.put(KEY_nombreSubtipo  , tablaSubtipo.getNombre()); 
        values.put(KEY_urlSubtipo, tablaSubtipo.getUrl());        
        // Inserting Row
        db.insert(TABLA_SUBTIPO, null, values);
        db.close(); // Closing database connection
	}*/

	public ArrayList<Tabla_Evento> getEventos(String idSubTipo) {
		ArrayList<Tabla_Evento> regEven = new ArrayList<Tabla_Evento>();
		if (idSubTipo.equals("all")){
			SQLiteDatabase db = this.getReadableDatabase();
		    Cursor cursor = db.rawQuery(" SELECT * FROM Tabla_Eventos ", null);
	        if (cursor.moveToFirst()) {
	            do {
	            	Tabla_Evento reg = new Tabla_Evento();
	            	reg.setIdEvento(cursor.getInt(0));
	            	reg.setNomEvento(cursor.getString(1));
	            	reg.setFecCreacion(cursor.getString(2));
	            	reg.setFecRealizacion(cursor.getString(3));
	            	reg.setIdEstadoEvento(cursor.getInt(4));
	            	reg.setNomEstadoEvento(cursor.getString(5));
	            	reg.setUrlEvento(cursor.getString(6));
	            	//reg.setIdsubtipo(cursor.getInt(7));
	            		            	
	                // Adding contact to list
	            	regEven.add(reg);
	            } while (cursor.moveToNext());
	        }
	 
	        return regEven;
		}else{
			SQLiteDatabase db = this.getReadableDatabase();
		    Cursor cursor = db.rawQuery(" SELECT * FROM Tabla_Eventos WHERE idSubTipo = \""+idSubTipo+"\"", null);
	        if (cursor.moveToFirst()) {
	            do {
	            	Tabla_Evento reg = new Tabla_Evento();
	            	reg.setIdEvento(cursor.getInt(0));
	            	Log.d("idEvn",String.valueOf(cursor.getInt(0)));
	            	
	            	reg.setNomEvento(cursor.getString(1));
	            	Log.d("idnom",(cursor.getString(1)));
	            	
	            	reg.setFecCreacion(cursor.getString(2));	            	
	            	Log.d("idfe",(cursor.getString(2)));
	            	
	            	reg.setFecRealizacion(cursor.getString(3));
	            	Log.d("idfe",(cursor.getString(3)));
	            	
	            	reg.setIdEstadoEvento(cursor.getInt(4));
	            	Log.d("idest",(cursor.getString(4)));
	            	
	            	reg.setNomEstadoEvento(cursor.getString(5));
	            	Log.d("idnomest",(cursor.getString(5)));
	            	
	            	reg.setUrlEvento(cursor.getString(6));
	            	Log.d("idurl",(cursor.getString(6)));
	            	
	            	//reg.setIdsubtipo(cursor.getInt(7));
	            	Log.d("idsub",String.valueOf(cursor.getInt(7)));
	            	
	                // Adding contact to list
	            	regEven.add(reg);
	            } while (cursor.moveToNext());
	        }
	 
	        return regEven;
		}		
	    
	}
	/*
	public ArrayList<TablaSubtipo> getSubtipos(String idTipo) {
		if (idTipo.equals("all")){
			SQLiteDatabase db = this.getReadableDatabase();
		    Cursor cursor = db.rawQuery(" SELECT * FROM Tabla_SubTipo ", null);
	        if (cursor.moveToFirst()) {
	            do {
	            	TablaSubtipo reg = new TablaSubtipo();
	            	//reg.setIdTipo(cursor.getInt(0));
	            	reg.setIdSubTipo(cursor.getInt(0));
	            	reg.setNombre(cursor.getString(1));
	            	reg.setUrl(cursor.getString(2));
	            	
	                // Adding contact to list
	                registerList.add(reg);
	            } while (cursor.moveToNext());
	        }
	 
	        return registerList;
		}else{
			SQLiteDatabase db = this.getReadableDatabase();
		    Cursor cursor = db.rawQuery(" SELECT * FROM Tabla_SubTipo as ts," +
		    		"Tabla_Tipo_X_Subtipo as tst " +
		    		"WHERE tst.idTipo = \""+idTipo+"\" " +
		    		"AND tst.idSubTipo=ts.idSubTipo", null);
	        if (cursor.moveToFirst()) {
	            do {
	            	TablaSubtipo reg = new TablaSubtipo();
	            	//reg.setIdTipo(cursor.getInt(0));
	            	reg.setIdSubTipo(cursor.getInt(0));
	            	reg.setNombre(cursor.getString(1));
	            	reg.setUrl(cursor.getString(2));
	            	
	                // Adding contact to list
	                registerList.add(reg);
	            } while (cursor.moveToNext());
	        }
	 
	        return registerList;
		}		
	    
	}
	
	public ArrayList<TablaTipo> getTipos() {
	    SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT * FROM Tabla_Tipo ", null);
        
        if (cursor.moveToFirst()) {
            do {
            	TablaTipo reg = new TablaTipo();
               	reg.setIdTipo(cursor.getInt(0));
            	reg.setNombre(cursor.getString(1));
            	            	
                // Adding contact to list
            	registerList1.add(reg);
            } while (cursor.moveToNext());
        }
 
        return registerList1;
	}

	public void ActualizaTablaTipoXSubtipo(TablaSubtipo objSubTipo) {
		// TODO Auto-generated method stub
				SQLiteDatabase db = this.getWritableDatabase();		 
		        ContentValues values = new ContentValues();
		        values.put(KEY_idTipo , objSubTipo.getIdTipo()); 
		        values.put(KEY_idSubTipo  , objSubTipo.getIdSubTipo());
		        // Inserting Row
		        db.insert(TABLA_TIPO_X_SUBTIPO, null, values);
		        db.close(); // Closing database connection
	}*/
	
	/******************* METODOS VENTAS (JAIME) ************************************************/
	
	/*** PROMOTOR/CANAL ***/
	/*QUERY PARA PROMOTOR CON CANAL DE VENTA ANUAL
	 * Necesito: nombre_Promotores, anho, ubicacion
	 * Devuelve: nomCanal, sum(monto)
	*/
	public ArrayList<Venta> getVentaPromotorCanalAnual(String[] promotores, int anho, String ubicacion)
	{
	    	ArrayList<Venta> resultado = new ArrayList<Venta>(); 
	    	
	    	SQLiteDatabase db = this.getReadableDatabase();
	    	Cursor cursor = null;
			String query = "SELECT c.nomCanal , sum(v.monto) " +
						   "FROM TABLA_VENTAS v, TABLA_CANAL c, TABLA_UBIGEO u, TABLA_PROMOTOR p, TABLA_FECHA f " +
	 					   "WHERE v.idCanal = c.idCanal AND v.idubigeo = u.idUbigeo AND v.idPromotor = p.idPromotor " +
						     "AND v.idfecha = f.idFecha AND f.anho = " + anho;

			if (ubicacion.equals("Lima"))
				query += " AND u.ubicacion = \"" + "Lima" + "\"";
			else if(ubicacion.equals("Provincia"))
				query += " AND u.ubicacion = \"" + "Provincia" + "\"";
				
			for(String promotor:promotores)
				query += " AND p.razonSocial = \"" + promotor + "\"";
			
			query += " GROUP BY c.nomCanal;";
			cursor = db.rawQuery(query,null);

	        if (cursor.moveToFirst())
	            do
				{
	            	Venta rpta = new Venta();
	            	rpta.setNomCanal(cursor.getString(0));
		            rpta.setMonto(cursor.getDouble(1));

	                resultado.add(rpta);
	            } while (cursor.moveToNext());
			
	        return resultado;
	}

	/*QUERY PARA PROMOTOR CON CANAL DE VENTA MENSUAL
	 * Necesito: nombre_Promotores, mes, anho, ubicacion
	 * Devuelve: nomCanal, sum(monto) 
	*/
	public ArrayList<Venta> getVentaPromotorCanalMes(String[] promotores, int mes, int anho, String ubicacion)
	{
	    	ArrayList<Venta> resultado = new ArrayList<Venta>(); 
	    	
	    	SQLiteDatabase db = this.getWritableDatabase();
	    	Cursor cursor = null;
			String query = "SELECT c.KEY_nomCanal , sum(v.KEY_monto) " +
						   "FROM TABLA_VENTAS v, TABLA_CANAL c, TABLA_UBIGEO u, TABLA_PROMOTOR p TABLA_FECHA f " +
	 					   "WHERE v.KEY_idCanal = c.KEY_idCanal AND v.KEY_idUbigeo = u.KEY_idUbigeo " +
						     "AND v.KEY_idPromotor = p.KEY_idPromotor AND v.KEY_idFecha = f.KEY_idFecha AND f.KEY_mes = " + mes + " AND f.KEY_anho = " + anho;

			if (ubicacion.equals("Lima"))
				query += " AND u.KEY_ubicacion = Lima";
			else if(ubicacion.equals("Provincia"))
				query += " AND u.KEY_ubicacion = Provincia";
				
			for(String promotor:promotores)
				query += " AND p.KEY_razonSocial = \"" + promotor + "\"";
			
			query += " group by c.nomCanal;";
			cursor = db.rawQuery(query,null);

	        if (cursor.moveToFirst())
	            do
				{
	            	Venta rpta = new Venta();
	            	rpta.setNomCanal(cursor.getString(0));
		            rpta.setMonto(cursor.getDouble(1));

	                resultado.add(rpta);
	            } while (cursor.moveToNext());
			
	        return resultado;
	}

	/*QUERY PARA PROMOTOR CON CANAL DE VENTA TRIMESTRE
	 * Necesito: nombre_Promotores, trimestre, anho, ubicacion
	 * Devuelve: nomCanal, sum(monto)
	*/
	public ArrayList<Venta> getVentaPromotorCanalTrimestral(String[] promotores, int trimestre, int anho, String ubicacion)
	{
	    	ArrayList<Venta> resultado = new ArrayList<Venta>(); 
	    	
	    	SQLiteDatabase db = this.getWritableDatabase();
	    	Cursor cursor = null;
			String query = "SELECT c.KEY_nomCanal , sum(v.KEY_monto) " +
						   "FROM TABLA_VENTAS v, TABLA_CANAL c, TABLA_UBIGEO u, TABLA_PROMOTOR p TABLA_FECHA f " +
	 					   "WHERE v.KEY_idCanal = c.KEY_idCanal AND v.KEY_idUbigeo = u.KEY_idUbigeo " +
						     "AND v.KEY_idPromotor = p.KEY_idPromotor AND v.KEY_idFecha = f.KEY_idFecha AND f.KEY_trimestre = " + trimestre + " AND f.KEY_anho = " + anho;

			if (ubicacion.equals("Lima"))
				query += " AND u.KEY_ubicacion = Lima";
			else if(ubicacion.equals("Provincia"))
				query += " AND u.KEY_ubicacion = Provincia";
				
			for(String promotor:promotores)
				query += " AND p.KEY_razonSocial = \"" + promotor + "\"";
			
			query += " group by c.nomCanal;";
			cursor = db.rawQuery(query,null);

	        if (cursor.moveToFirst())
	            do
				{
	            	Venta rpta = new Venta();
	            	rpta.setNomCanal(cursor.getString(0));
		            rpta.setMonto(cursor.getDouble(1));

	                resultado.add(rpta);
	            } while (cursor.moveToNext());
			
	        return resultado;
	}

	/*** PROMOTOR/RANGO EDADES ***/
	/*QUERY PARA PROMOTOR CON RANGO EDADES ANUAL
	 * Necesito: nombre_Promotores, anho, ubicacion
	 * Devuelve: nomRango, sum(monto)
	*/
	public ArrayList<Venta> getVentaPromotorEdadAnual(String[] promotores, int anho, String ubicacion)
	{
	    	ArrayList<Venta> resultado = new ArrayList<Venta>(); 
	    	
	    	SQLiteDatabase db = this.getReadableDatabase();
	    	Cursor cursor = null;
			String query = "SELECT e.nomRango, sum(v.monto) " +
						   "FROM TABLA_VENTAS v, TABLA_Edad e, TABLA_UBIGEO u, TABLA_PROMOTOR p, TABLA_FECHA f " +
	 					   "WHERE v.idRango = e.idRango AND v.idubigeo = u.idUbigeo AND v.idPromotor = p.idPromotor AND v.idfecha = f.idFecha " +
						     "AND f.anho = " + anho;

			if (ubicacion.equals("Lima"))
				query += " AND u.ubicacion = \"" + "Lima" + "\"";
			else if(ubicacion.equals("Provincia"))
				query += " AND u.ubicacion = \"" + "Provincia" + "\"";
				
			for(String promotor:promotores)
				query += " AND p.razonSocial = \"" + promotor + "\"";
			
			query += " GROUP BY e.nomRango;";
			cursor = db.rawQuery(query,null);

	        if (cursor.moveToFirst())
	            do
				{
	            	Venta rpta = new Venta();
	            	rpta.setNomRango(cursor.getString(0));
		            rpta.setMonto(cursor.getDouble(1));

	                resultado.add(rpta);
	            } while (cursor.moveToNext());
			
	        return resultado;
	}

	/*QUERY PARA PROMOTOR CON RANGO DE EDADES MENSUAL
	 * Necesito: nombre_Promotores, mes, anho, ubicacion
	 * Devuelve: nomRango, sum(monto)
	*/
	public ArrayList<Venta> getVentaPromotorEdadMes(String[] promotores, int mes, int anho, String ubicacion)
	{
	    	ArrayList<Venta> resultado = new ArrayList<Venta>(); 
	    	
	    	SQLiteDatabase db = this.getWritableDatabase();
	    	Cursor cursor = null;
			String query = "SELECT e.KEY_nomRango , sum(v.KEY_monto) " +
						   "FROM TABLA_VENTAS v, TABLA_EDAD e, TABLA_UBIGEO u, TABLA_PROMOTOR p TABLA_FECHA f " +
	 					   "WHERE v.KEY_idRango = e.KEY_idRango AND v.KEY_idUbigeo = u.KEY_idUbigeo " +
						     "AND v.KEY_idPromotor = p.KEY_idPromotor AND v.KEY_idFecha = f.KEY_idFecha AND f.KEY_mes = " + mes + " AND f.KEY_anho = " + anho;

			if (ubicacion.equals("Lima"))
				query += " AND u.KEY_ubicacion = Lima";
			else if(ubicacion.equals("Provincia"))
				query += " AND u.KEY_ubicacion = Provincia";
				
			for(String promotor:promotores)
				query += " AND p.KEY_razonSocial = \"" + promotor + "\"";
			
			query += " group by e.nomRango;";
			cursor = db.rawQuery(query,null);

	        if (cursor.moveToFirst())
	            do
				{
	            	Venta rpta = new Venta();
	            	rpta.setNomRango(cursor.getString(0));
		            rpta.setMonto(cursor.getDouble(1));

	                resultado.add(rpta);
	            } while (cursor.moveToNext());
			
	        return resultado;
	}

	/*QUERY PARA PROMOTOR CON RANGO DE EDADES TRIMESTRE
	 * Necesito: nombre_Promotores, trimestre, anho, ubicacion
	 * Devuelve: nomRango, sum(monto)
	*/
	public ArrayList<Venta> getVentaPromotorEdadTrimestral(String[] promotores, int trimestre, int anho, String ubicacion)
	{
	    	ArrayList<Venta> resultado = new ArrayList<Venta>(); 
	    	
	    	SQLiteDatabase db = this.getWritableDatabase();
	    	Cursor cursor = null;
			String query = "SELECT e.KEY_nomRango , sum(v.KEY_monto) " +
						   "FROM TABLA_VENTAS v, TABLA_EDAD e, TABLA_UBIGEO u, TABLA_PROMOTOR p TABLA_FECHA f " +
	 					   "WHERE v.KEY_idCanal = c.KEY_idCanal AND v.KEY_idUbigeo = u.KEY_idUbigeo " +
						     "AND v.KEY_idPromotor = p.KEY_idPromotor AND v.KEY_idFecha = f.KEY_idFecha AND f.KEY_trimestre = " + trimestre + " AND f.KEY_anho = " + anho;

			if (ubicacion.equals("Lima"))
				query += " AND u.KEY_ubicacion = Lima";
			else if(ubicacion.equals("Provincia"))
				query += " AND u.KEY_ubicacion = Provincia";
				
			for(String promotor:promotores)
				query += " AND p.KEY_razonSocial = \"" + promotor + "\"";
			
			query += " group by e.nomRango;";
			cursor = db.rawQuery(query,null);

	        if (cursor.moveToFirst())
	            do
				{
	            	Venta rpta = new Venta();
	            	rpta.setNomRango(cursor.getString(0));
		            rpta.setMonto(cursor.getDouble(1));

	                resultado.add(rpta);
	            } while (cursor.moveToNext());
			
	        return resultado;
	}

	/*** PROMOTOR/TIPO EVENTO ***/
	/*QUERY PARA PROMOTOR CON TIPO EVENTO ANUAL
	 * Necesito: nombre_Promotores, anho, ubicacion
	 * Devuelve: nomTipoEvento, sum(monto)
	*/
	public ArrayList<Venta> getVentaPromotorTipoEventoAnual(String[] promotores, int anho, String ubicacion)
	{
	    	ArrayList<Venta> resultado = new ArrayList<Venta>(); 
	    	
	    	SQLiteDatabase db = this.getWritableDatabase();
	    	Cursor cursor = null;
			String query = "SELECT t.KEY_nomTipoEvento, sum(v.KEY_monto) " +
						   "FROM TABLA_VENTAS v, TABLA_Evento e, TABLA_TipoEvento t, TABLA_EventoXTipoXSubTipo x, TABLA_UBIGEO u, TABLA_PROMOTOR p TABLA_FECHA f " +
	 					   "WHERE v.KEY_idEvento = e.KEY_idEvento AND t.KEY_idTipoEvento = x.KEY_idTipoEvento AND x.KEY_idEvento = e.KEY_idEvento AND v.KEY_idUbigeo = u.KEY_idUbigeo " +
						     "AND v.KEY_idPromotor = p.KEY_idPromotor AND v.KEY_idFecha = f.KEY_idFecha AND f.KEY_anho = " + anho;

			if (ubicacion.equals("Lima"))
				query += " AND u.KEY_ubicacion = Lima";
			else if(ubicacion.equals("Provincia"))
				query += " AND u.KEY_ubicacion = Provincia";
				
			for(String promotor:promotores)
				query += " AND p.KEY_razonSocial = \"" + promotor + "\"";
			
			query += " group by t.KEY_nomTipoEvento;";
			cursor = db.rawQuery(query,null);

	        if (cursor.moveToFirst())
	            do
				{
	            	Venta rpta = new Venta();
	            	rpta.setNomTipoEvento(cursor.getString(0));
		            rpta.setMonto(cursor.getDouble(1));

	                resultado.add(rpta);
	            } while (cursor.moveToNext());
			
	        return resultado;
	}

	/*QUERY PARA PROMOTOR CON TIPO EVENTO MENSUAL
	 * Necesito: nombre_Promotores, mes, anho, ubicacion
	 * Devuelve: nomTipoEvento, sum(monto)
	*/
	public ArrayList<Venta> getVentaPromotorTipoEventoMes(String[] promotores, int mes, int anho, String ubicacion)
	{
	    	ArrayList<Venta> resultado = new ArrayList<Venta>(); 
	    	
	    	SQLiteDatabase db = this.getWritableDatabase();
	    	Cursor cursor = null;
			String query = "SELECT t.KEY_nomTipoEvento, sum(v.KEY_monto) " +
						   "FROM TABLA_VENTAS v, TABLA_Evento e, TABLA_TipoEvento t, TABLA_EventoXTipoXSubTipo x, TABLA_UBIGEO u, TABLA_PROMOTOR p TABLA_FECHA f " +
	 					   "WHERE v.KEY_idEvento = e.KEY_idEvento AND t.KEY_idTipoEvento = x.KEY_idTipoEvento AND x.KEY_idEvento = e.KEY_idEvento AND v.KEY_idUbigeo = u.KEY_idUbigeo " +
						     "AND v.KEY_idPromotor = p.KEY_idPromotor AND v.KEY_idFecha = f.KEY_idFecha AND f.KEY_mes = " + mes + " AND f.KEY_anho = " + anho;

			if (ubicacion.equals("Lima"))
				query += " AND u.KEY_ubicacion = Lima";
			else if(ubicacion.equals("Provincia"))
				query += " AND u.KEY_ubicacion = Provincia";
				
			for(String promotor:promotores)
				query += " AND p.KEY_razonSocial = \"" + promotor + "\"";
			
			query += " group by t.KEY_nomTipoEvento;";
			cursor = db.rawQuery(query,null);

	        if (cursor.moveToFirst())
	            do
				{
	            	Venta rpta = new Venta();
	            	rpta.setNomTipoEvento(cursor.getString(0));
		            rpta.setMonto(cursor.getDouble(1));

	                resultado.add(rpta);
	            } while (cursor.moveToNext());
			
	        return resultado;
	}

	/*QUERY PARA PROMOTOR CON TIPO EVENTO TRIMESTRE
	 * Necesito: nombre_Promotores, trimestre, anho, ubicacion
	 * Devuelve: nomTipoEvento, sum(monto)
	*/
	public ArrayList<Venta> getVentaPromotorTipoEventoTrimestral(String[] promotores, int trimestre, int anho, String ubicacion)
	{
	    	ArrayList<Venta> resultado = new ArrayList<Venta>(); 
	    	
	    	SQLiteDatabase db = this.getWritableDatabase();
	    	Cursor cursor = null;
			String query = "SELECT t.KEY_nomTipoEvento, sum(v.KEY_monto) " +
						   "FROM TABLA_VENTAS v, TABLA_Evento e, TABLA_TipoEvento t, TABLA_EventoXTipoXSubTipo x, TABLA_UBIGEO u, TABLA_PROMOTOR p TABLA_FECHA f " +
	 					   "WHERE v.KEY_idEvento = e.KEY_idEvento AND t.KEY_idTipoEvento = x.KEY_idTipoEvento AND x.KEY_idEvento = e.KEY_idEvento AND v.KEY_idUbigeo = u.KEY_idUbigeo " +
						     "AND v.KEY_idPromotor = p.KEY_idPromotor AND v.KEY_idFecha = f.KEY_idFecha AND f.KEY_trimestre = " + trimestre + " AND f.KEY_anho = " + anho;

			if (ubicacion.equals("Lima"))
				query += " AND u.KEY_ubicacion = Lima";
			else if(ubicacion.equals("Provincia"))
				query += " AND u.KEY_ubicacion = Provincia";
				
			for(String promotor:promotores)
				query += " AND p.KEY_razonSocial = \"" + promotor + "\"";
			
			query += " group by t.KEY_nomTipoEvento;";
			cursor = db.rawQuery(query,null);

	        if (cursor.moveToFirst())
	            do
				{
	            	Venta rpta = new Venta();
		            rpta.setNomTipoEvento(cursor.getString(0));
			        rpta.setMonto(cursor.getDouble(1));

	                resultado.add(rpta);
	            } while (cursor.moveToNext());
			
	        return resultado;
	}
	
	/***********************************************************************************/
	
	
	/*
	public void borraTablaTipo_x_Subtipo() {
		SQLiteDatabase db = this.getWritableDatabase();
		db.delete(TABLA_TIPO_X_SUBTIPO, null, null);
		// Cursor cursor = db.rawQuery(" DELETE * FROM "+TABLA_TIPO_X_SUBTIPO , null);
	}
	}*/
}
